Causing display of a three dimensional graphical user interface with dynamic selectability of items

ABSTRACT

An apparatus comprises at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to cause a view of a three-dimensional graphical user interface to be displayed on a touch-sensitive display, the three-dimensional graphical user interface comprising a three-dimensional arrangement of a plurality of graphical objects, each of the graphical objects, when displayed, having an associated display parameter, to identify at least one graphical object for which the associated display parameter satisfies a predetermined criterion, and to enable individual selectability in respect of the identified at least one graphical object, wherein each individually selectable graphical object is selectable with a touch input and wherein individually selecting a graphical object with a touch input causes an action to be performed in respect of the selected graphical object.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/455,669, filed Apr. 25, 2012, the entire contents of which areincorporated herein by reference.

FIELD

This specification relates to generally to causing display of a threedimensional graphical user interface and more particularly to causingdisplay of a three dimensional graphical user interface on a touchsensitive device.

BACKGROUND

One main benefit of three-dimensional (3D) graphical user interfaces(GUIs) is that they are potentially able to present more graphicalinformation/objects than two-dimensional (2D) GUIs. Currently, most 3DGUI interaction is performed using gaming consoles or personal computers(PCs). In these environments, it is possible to move a cursor or a focusto highlight even very small visual items in the GUI and subsequently tointeract with them. This results in the case that all clearly visibleitems can be directly interacted with. However touch-screen interactionis different. Where objects are interacted with by touch inputs, theability to interact with or select an object is limited by finger size.3D GUIs can include objects that are too small to be interacted withaccurately.

SUMMARY

In a first aspect, this specification describes apparatus comprising atleast one processor and at least one memory including computer programcode, the at least one memory and the computer program code configuredto, with the at least one processor, cause the apparatus to cause a viewof a three-dimensional graphical user interface to be displayed on atouch-sensitive display, the three-dimensional graphical user interfacecomprising a three-dimensional arrangement of a plurality of graphicalobjects, each of the graphical objects, when displayed, having anassociated display parameter, to identify at least one graphical objectfor which the associated display parameter satisfies a predeterminedcriterion, and to enable individual selectability in respect of theidentified at least one graphical object, wherein each individuallyselectable graphical object is selectable with a touch input and whereinindividually selecting a graphical object with a touch input causes anaction to be performed in respect of the selected graphical object.

The at least one memory and the computer program code may be configured,with the at least one processor, to cause the apparatus to adapt theappearance of the identified at least one graphical object so as toindicate to a user that the graphical object is individually selectable.The at least one memory and the computer program code may be configured,with the at least one processor, to cause the apparatus to identify aplurality of the graphical objects for which the associated displayparameter does not satisfy the predetermined criterion and to cause thethree-dimensional arrangement of graphical objects to be adapted bycausing the identified plurality of graphical objects for which theassociated display parameter does not satisfy the predeterminedcriterion to be moved into a cluster. The at least one memory and thecomputer program code may be configured, with the at least oneprocessor, to cause the apparatus to enable selectability of the clustervia a touch input. The at least one memory and the computer program codemay be configured, with the at least one processor, to cause theapparatus to receive a signal indicative of a touch input having beenreceived in respect of the cluster, to respond by changing the pointfrom which the adapted three-dimensional arrangement is viewed until thedisplay parameters associated with each of the graphical objects in thecluster satisfy the predetermined criterion, and to enable theindividual selectability of the each of the graphical objects in thecluster.

The at least one memory and the computer program code may be configured,with the at least one processor, to cause the apparatus to cause ahandle to be displayed in association with each of the graphical objectsfor which the display parameter does not satisfy the predeterminedcriterion, wherein a display parameter associated with at least part ofthe handle satisfies the predetermined criterion, and to enableselectability of the handle associated with each graphical object.

The at least one memory and the computer program code may be configured,with the at least one processor, to receive a signal indicative arequest to change the point from which the three-dimensional graphicaluser interface is viewed, to respond by causing a changed view of thethree-dimensional graphical user interface to be displayed on thetouch-sensitive display, to calculate an interaction metric in respectof the changed view, and to optimise the interaction metric byautomatically adjusting the point from which the three-dimensionalgraphical user interface is viewed or by adjusting the arrangement ofthe plurality of graphical objects.

The at least one memory and the computer program code may be configured,with the at least one processor, to optimise the interaction metric bycalculating the interaction metric for the three-dimensional graphicaluser interface at a plurality of different adjusted views or for aplurality of different adjusted three-dimensional arrangements, and tocause the view or arrangement having the highest interaction metric tobe displayed.

The associated display parameter may comprise a display size of thegraphical object. Alternatively, the associated display parametercomprises a virtual distance of the graphical object from thetouch-sensitive display.

In a second aspect, this specification describes a method comprisingcausing a view of a three-dimensional graphical user interface to bedisplayed on a touch-sensitive display, the three-dimensional graphicaluser interface comprising a three-dimensional arrangement of a pluralityof graphical objects, each of the graphical objects, when displayed,having an associated display parameter, identifying at least onegraphical object for which the associated display parameter satisfies apredetermined criterion and enabling individual selectability in respectof the identified at least one graphical object, wherein eachindividually selectable graphical object is selectable with a touchinput and wherein individually selecting a graphical object with a touchinput causes an action to be performed in respect of the selectedgraphical object.

The method may further comprise adapting the appearance of theidentified at least one graphical object so as to indicate to a userthat the graphical object is individually selectable. The method mayfurther comprise identifying a plurality of the graphical objects forwhich the associated display parameter does not satisfy thepredetermined criterion and causing the three-dimensional arrangement ofgraphical objects to be adapted by causing the identified plurality ofgraphical objects for which the associated display parameter does notsatisfy the predetermined criterion to be moved into a cluster. Themethod may further comprise enabling selectability of the cluster via atouch input. The method may further comprise receiving a signalindicative of a touch input having been received in respect of thecluster, responding by changing the point from which the adaptedthree-dimensional arrangement is viewed until the display parametersassociated with each of the graphical objects in the cluster satisfy thepredetermined criterion, and enabling the individual selectability ofthe each of the graphical objects in the cluster.

The method may further comprise causing a handle to be displayed inassociation with each of the graphical objects for which the displayparameter does not satisfy the predetermined criterion, wherein adisplay parameter associated with at least part of the handle satisfiesthe predetermined criterion, and enabling selectability of the handleassociated with each graphical object.

The method may further comprise receiving a signal indicative a requestto change the point from which the three-dimensional graphical userinterface is viewed, responding by causing a changed view of thethree-dimensional graphical user interface to be displayed on thetouch-sensitive display, calculating an interaction metric in respect ofthe changed view, and optimising the interaction metric by automaticallyadjusting the point from which the three-dimensional graphical userinterface is viewed or by adjusting the arrangement of the plurality ofgraphical objects.

Optimising the interaction metric may comprise calculating theinteraction metric for the three-dimensional graphical user interface ata plurality of different adjusted views or for a plurality of differentadjusted three-dimensional arrangements, and cause the view orarrangement having the highest interaction metric to be displayed.

The associated display parameter comprises a display size of thegraphical object. Alternatively, the associated display parameter maycomprise a virtual distance of the graphical object from thetouch-sensitive display.

In a third aspect, this specification describes a non-transitorycomputer readable memory medium having computer readable instructionsstored thereon, the computer readable instructions, when executed by atleast one processor, causing the at least one processor to cause a viewof a three-dimensional graphical user interface to be displayed on atouch-sensitive display, the three-dimensional graphical user interfacecomprising a three-dimensional arrangement of a plurality of graphicalobjects, each of the graphical objects, when displayed, having anassociated display parameter, to identify at least one graphical objectfor which the associated display parameter satisfies a predeterminedcriterion, and to enable individual selectability in respect of theidentified at least one graphical object, wherein each individuallyselectable graphical object is selectable with a touch input and whereinindividually selecting a graphical object with a touch input causes anaction to be performed in respect of the selected graphical object.

In a fourth aspect, this specification describes computer-readable codewhich, when executed by computing apparatus, causes the computingapparatus to perform a method according to the second aspect.

In a fifth aspect, this specification describes apparatus comprisingmeans for causing a view of a three-dimensional graphical user interfaceto be displayed on a touch-sensitive display, the three-dimensionalgraphical user interface comprising a three-dimensional arrangement of aplurality of graphical objects, each of the graphical objects, whendisplayed, having an associated display parameter, means for identifyingat least one graphical object for which the associated display parametersatisfies a predetermined criterion and means for enabling individualselectability in respect of the identified at least one graphicalobject, wherein each individually selectable graphical object isselectable with a touch input and wherein individually selecting agraphical object with a touch input causes an action to be performed inrespect of the selected graphical object.

In a fifth aspect, this specification describes apparatus configured tocause a view of a three-dimensional graphical user interface to bedisplayed on a touch-sensitive display, the three-dimensional graphicaluser interface comprising a three-dimensional arrangement of a pluralityof graphical objects, each of the graphical objects, when displayed,having an associated display parameter, to identify at least onegraphical object for which the associated display parameter satisfies apredetermined criterion, and to enable individual selectability inrespect of the identified at least one graphical object, wherein eachindividually selectable graphical object is selectable with a touchinput and wherein individually selecting a graphical object with a touchinput causes an action to be performed in respect of the selectedgraphical object.

BRIEF DESCRIPTION OF THE FIGURES

For a more complete understanding of example embodiments, reference isnow made to the following description taken in connection with theaccompanying drawings in which:

FIG. 1 is a schematic illustration of an apparatus in accordance withexample embodiments;

FIG. 2A shows a 3D GUI displayed on a touch-sensitive device;

FIG. 2B is a schematic showing the virtual distance from thetouch-sensitive display of the graphical objects of the 3D GUI of FIG.2A;

FIG. 3A shows the 3D GUI of FIG. 2A, when displayed at a differentrotational orientation;

FIG. 3B is a schematic showing the virtual distance from thetouch-sensitive display of the graphical objects of the 3D GUI of FIG.3A;

FIG. 4 is a flow chart illustrating a method in accordance with exampleembodiments;

FIGS. 5A and 5B and 6A to 6E illustrate various steps of the method ofFIG. 4;

FIG. 7 is a flow chart illustrating an example method for optimising thedisplay of a 3D GUI;

FIGS. 8A and 8B are views of the 3D GUI which serve to illustrateaspects of the method of FIG. 7;

FIG. 9 is a flow chart illustrating an example of another method foroptimising the display of the 3D GUI;

FIGS. 10 A and 10B are views of the 3D GUI which serve to illustrateaspects of the method of FIG. 9; and

FIGS. 11A and 11B illustrate an optimisation of a view of the 3D GUI inaccordance with example embodiments.

DETAILED DESCRIPTION

In the description and drawings, like reference numerals refer to likeelements throughout.

FIG. 1 is a schematic view of an apparatus 1 in accordance with exampleembodiments. The apparatus 1 comprises a controller 10, at least onenon-transitory memory medium 12 and touch-sensitive display 14. Thecontroller 10 comprises at least one processor 10A and optionally one ormore application specific integrated circuits (not shown). The at leastone processor 10A is operable to execute computer-readable code 12Astored on the memory 12. The controller 10 is operable under the controlof the computer-readable code 12A to control the output of thetouch-sensitive display 14. The controller 10 is also operable under thecontrol of the computer-readable code 12A to respond to touch inputsreceived at the touch-sensitive display 14 and to cause actions to beperformed based thereon. Such actions include changing the output of thetouch-sensitive display 14. The controller 10 is operable also to causedata to be stored, temporarily or permanently, in the at least onememory 12.

The controller 10 is operable to cause a 3D GUI to be displayed on thetouch-sensitive display 14. A 3D GUI comprises a 3D arrangement ofgraphical objects provided on the display 14. A 3D GUI is based on athree-dimensional data model and comprises a plurality of graphicalobjects. A graphical object is a representation of graphical data. Thegraphical data has associated geometric data which defines a location ofthe graphical object in three-dimensional space. The geometric data maycomprise, for example, one or more sets of Cartesian coordinates. Thedisplayed appearance of the 3D GUI is dependent upon the point fromwhich the 3D GUI is viewed. As such, as the point of view (also referredto as the “camera position” or the “viewpoint”) is changed, theappearance of the 3D GUI is also changed.

The controller 10 is operable to cause the 3D GUI to be displayed on thetouch-sensitive display 14 from many different viewpoints. The viewpointfrom which the GUI is displayed may be selected or changed by the uservia one or more touch inputs. In some examples the 3D GUI may benavigable in three dimensions. For example, swipe inputs (i.e. movementsof the user's finger in one direction along the surface of thetouch-sensitive display 14) may be used to move the viewpoint in thedirection of movement of the swipe. Alternatively, swipe inputs may beused to rotate the 3D GUI in direction of movement of the swipe. A pinchinput (i.e. moving two fingers towards one another on thetouch-sensitive display 14) may be used to move the viewpoint in adirection into the display 14. A reverse-pinch input (i.e. moving twofingers away from one another on the touch-sensitive display 14) may beused to move the viewpoint in a direction out of the touch-sensitivedisplay 14. It will of course be appreciated that any suitable type ofuser input may be used to navigate through the 3D GUI.

The controller 10 may also be operable to change the viewpoint fromwhich the 3D GUI is displayed automatically. The controller 10 may alsobe operable to adapt the appearance of the 3D GUI by adjusting relativepositions of the graphical objects of which the 3D GUI is comprised.

The touch-sensitive display 14 comprises a display part 14A and a part14B configured to detect touch inputs incident on the touch-sensitivedisplay 14. The display part 14A may comprise any suitable display panelsuch as, but not limited to, an LED display panel, an LCD display panel,an e-ink display panel or a plasma display panel. The part 14Bconfigured to detect touch inputs may be of any suitable type. Suitabletypes include capacitive touch-sensitive panels and resistivetouch-sensitive panels.

The at least one non-transitory memory medium 12 may be of any type suchas, but not limited to, ROM, RAM and flash memory. Where the apparatus 1comprises plural discrete memory media, some or all of these may be ofdifferent types.

The apparatus 1 may be part of a touch-sensitive device. Touch-sensitivedevices of which the apparatus 1 may be part include, but are notlimited to, mobile telephones, tablet computers, laptop computers,desktop computers, a personal digital assistants (PDA), positioningsystems (e.g. GPS receivers) and portable media players.

FIG. 2A shows an example of a touch-sensitive device 2 which includesthe apparatus 1 of FIG. 1. In this example, the device 2 is a portabledevice, specifically a mobile telephone.

In FIG. 2A, a simple 3D GUI 20 is being caused to be displayed on thetouch-sensitive display 14. In this example, the 3D GUI 20 comprisesfirst to fourth graphical objects 20-1, 20-2, 20-3, 20-4. In thisexample, the graphical objects are spheres 20-1, 20-2, 20-3, 20-4. Thosegraphical objects 20-1, 20-2, 20-3, 20-4 of the 3D GUI which are“further away” from the plane of the touch-sensitive display 14 appearto be of a smaller size than those which are closer to the plane of thetouch-sensitive display 14. In the view of FIG. 2A, the first graphicalobject 20-1 is closest to the plane of the display 14, the secondgraphical object 20-2 is the next closest, the third graphical object20-3 is the third closest and the fourth graphical object 20-4 is thefurthest from the plane of the display 14. The respective distances ofthe graphical objects 20-1, 20-2, 20-3, 20-4 from the plane of thetouch-sensitive display 14 are illustrated in FIG. 2B, which is animaginary view of the graphical objects of the 3D GUI when viewed fromabove at a point in a plane that is perpendicular to the plane of thetouch-sensitive display 14. The plane of the touch-sensitive display 14is denoted by the line labelled P, and the direction from which the userviews the GUI is shown by the arrow denoted V.

It will of course be appreciated that FIGS. 2A and 2B are purely forillustrative purposes and that the differences in the sizes at whichobjects at different distances from the display are shown may have beenexaggerated. In this example, the centres of the graphical objects 20-1,20-2, 20-3, 20-4 of which the 3D GUI is comprised are all located in thesame plane. This is merely for ease of illustration and may notnecessarily be the case.

FIG. 3A shows the 3D GUI of FIG. 2A when viewed from a differentviewpoint. In this example, the 3D arrangement of graphical objects20-1, 20-2, 20-3, 20-4 has been rotated in a clockwise direction byapproximately 60 degrees. This change in viewpoint may have been caused,for example, in response to a swipe input moving in a direction fromleft to right. As can be seen from FIG. 3B, the second graphical object20-2 is now closest to the plane of the display 14 and the thirdgraphical object 20-3 is the furthest away. Consequently, in FIG. 3A,the second graphical object 20-2 covers the largest display area and thethird graphical object 20-3 covers the smallest display area. Thegraphical objects which cover the smallest area of the display 14 may betoo small for a user to select accurately with their finger.

FIG. 4 is a flow chart depicting an example of a method that may beperformed by the controller 10 of the apparatus 1 of FIG. 1.

In step S4-1, the controller 10 causes a view of a 3D graphical GUI 20(GUI) to be displayed. The view of 3D GUI is based on a 3D data modelstored in the memory 12. The 3D GUI 20, when displayed, comprises aplurality of graphical objects 20-1, 20-2, 20-3, 20-4 provided in athree-dimensional arrangement. Each of the graphical objects 20-1, 20-2,20-3, 20-4 has an associated display parameter. In some examples, theassociated display parameter comprises a measure of the size at whichthe graphical object appears on the display 14. The measure of the sizemay be, for example, a number of pixels by which graphical object isconstituted, a measure of the largest length of the graphical object, ora measure of the area of the display on which graphical object isdisplayed. In other examples, the display parameter may comprise a“virtual distance” by which the graphical object is displaced from theplane of the display 14. This “virtual distance” may also be referred toas the “z-distance” of a graphical object. The z-distance may bemeasured from the part of the object that is closest to the displaypanel.

Next, in step S4-2, the controller 10 identifies those graphical objects20-1, 20-2 for which the associated display parameter satisfies apredetermined criterion. It will be appreciated that the predeterminedcriterion depends on the nature of the associated display parameter. Forinstance, in examples in which the display parameter is a measure of thedisplay size of the graphical object, the predetermined criterion isthat the display size of the graphical object must be larger than apredetermined threshold size. A suitable threshold size may beapproximately 8 mm. As such, in some examples, only those graphicalobjects 20-1, 20-2 for which the associated display parameter indicatesthat at least one dimension as displayed on the display 14 is greaterthan or equal to 8 mm will be identified in step S4-2. In some examples,the criterion may be that at least part of a graphical object must havetwo dimensions (e.g. a width and a length) over a threshold size.

In examples in which the display parameter is the virtual distancebetween the graphical object 20-1, 20-2, 20-3, 20-4 and the plane of thedisplay 14, the predetermined criterion is that the distance must beless than a threshold distance. Put another way, in order to satisfy thepredetermined criterion, at least part of the graphical object 20-1,20-2, 20-3, 20-4 must be situated between the plane of the display 14and an imaginary threshold plane that is parallel to the plane of thedisplay 14 and is located a threshold distance behind the plane of thedisplay 14.

The step of S4-2 of identifying the graphical objects 20-1, 20-2, 20-3,20-4 that satisfy the predetermined criterion may comprise comparing thedisplay parameter associated with each of the graphical objects 20-1,20-2, 20-3, 20-4 with a threshold display parameter. If the associateddisplay parameter is determined to be on the correct side of thethreshold parameter, the graphical object is identified as satisfyingthe predetermined criterion.

Next, in step S4-3, the controller 10 enables the individualselectability of the each of the graphical objects 20-1, 20-2, 20-3,20-4 for which the associated display parameter satisfies thepredetermined criterion. A graphical object 20-1, 20-2, 20-3, 20-4 isindividually selectable when it can be interacted with or selected by atouch input that is incident on a location of the display 14 at whichthe graphical object is provided. The controller 10 is operable underthe control of the computer-readable code 12A to respond to a subsequentindividual selection of a graphical object by causing an action to beperformed in respect of the selected graphical object.

The individual selectability of the graphical objects for which thepredetermined criterion is not satisfied is not enabled. As such, thesegraphical objects cannot be selected or interacted with on an individualbasis. Put another way, the controller 10 is configured, under thecontrol of the computer readable code 12A, to disable the individualselectability of those graphical objects for which the associateddisplay parameter does not satisfy the predetermined criterion.

Following step S4-3, the user is able to select or interact with thosegraphical objects for which the associated display parameter satisfiesthe predetermined criterion. Those graphical objects which are too smallfor the user to accurately select or interact with are prevented frombeing individually selected. This reduces the probability of the usermaking erroneous selections of graphical objects.

FIGS. 5A and 5B illustrate aspects of the method of FIG. 4. Figure shows5A shows a view of the 3D GUI that is similar to that shown in FIG. 2A.In FIG. 5A, however, those graphical objects 20-1, 20-2 which areindividually selectable (i.e. for which the associated display parametersatisfies the predetermined criterion) are shown with a bold outline. Inthis example, the criterion may be that at least part of the graphicalobject as displayed must have dimensions of at least 8 mm×8 mm.

Alternatively, as illustrated in FIG. 5B (which is similar to FIG. 2B),the criterion may have been that at least part of the graphical objectmust be in front of an imaginary threshold plane spaced a distance xfrom the display 14. The imaginary plane is denoted as P_(T) in FIG. 5B.

Returning now to FIG. 4, after enabling the individual selectability ofthe graphical objects 20-1, 20-2 for which the display parametersatisfies the predetermined criterion, the method proceeds to step S4-4.In step S4-4, the controller 10 adapts the appearance of those graphicalobjects for which the individual selectability has been enabled.Adaptation of their appearance allows the user to determine which of thegraphical objects can be individually selected or interacted with. Theappearance of the graphical objects may be adapted in any suitable way.In some examples, 3D graphical objects for which the associatedparameter satisfies the predetermined criterion may be displayed, orrendered, as two dimensional (2D) objects in the plane of the display14. This may be performed, for example, by replacing the relevant 3Dgraphical objects with pre-stored 2D images of the graphical object.Alternatively, the relevant 3D graphical objects may be rotated until amain, or primary, face of the object is parallel with the plane of thedisplay screen. Additionally or alternatively, the graphical objectsidentified in step S4-2 may be provided with visual highlight, such as ahalo surrounding the object or simply an emboldened outline (as is shownin FIG. 5A).

Next, in step S4-5, the controller 10 causes the appearance or positionsof one or more of the graphical objects for which the individualselectability has not been enabled to be modified or adapted. Forexample, as shown in FIG. 5C, the graphical objects which were notidentified in step S4-2 (i.e. the third and fourth graphical objects20-3, 20-4) may be grouped into a cluster 60 at a suitable location onthe display. The cluster 60 is configured such that overall size of thecluster 60 is larger than the threshold size for selectability. As such,the graphical objects in a cluster 60 may be spaced further apart in acluster having a lower number of graphical objects than in a clusterhaving a higher number of graphical objects. A suitable location may be,for example, one at which no other graphical objects are displayed. Thecluster 60 may be spaced from the other graphical objects by more than athreshold distance. If the number of graphical objects for which thepredetermined criterion is not met is large, then two or more clusters60 may be formed. The decision to form more than one cluster may bebased on the cumulative display area of all the graphical objects whichare to form the cluster 60. In such examples, each of the two or more isof a display size that is above the threshold for selectability. The twoor more clusters may be grouped together so as to appear as a singlelarger cluster. Alternatively, they may be provided on dispersed regionsof the display. It will be appreciated that not all graphical objectsfor which the predetermined criterion is not satisfied may be moved intoa cluster. For example, those graphical objects for which the displayparameter is does not satisfy a second more lenient criterion, and sowhich appear to be very small, may not be moved into a cluster.

In other examples, the appearance of the graphical objects 20-3, 20-4which are not individually selectable may be modified. For example, asshown in FIG. 6D, the appearance of the graphical objects 20-2, 20-3 maybe modified to include an interaction handle 62. An interaction handle62 is another graphical object which is displayed in association withthe graphical object 20-2, 20-3, for which individual selectability hasnot been enabled. The interaction handle 62 may be associated with thegraphical object 20-2, 20-3 by visually linking the interaction handle62 with the graphical object 20-2, 20-3. The interaction handle does notform part of the 3D GUI and may be rendered on an ad-hoc basis. Theinteraction handle 62 is configured such that a display parameter (e.g.display size or z-distance) associated with at least part of the handle62 satisfies the predetermined criterion for selectability.

Next in step S4-6, the controller 10 enables the selectability of thecluster 60 or interaction handle 62. As such, the user is able to selectthe cluster 60 or handle 62 by providing a touch input on the display 14at a location on which the cluster 60 or handle 62 is displayed. In someexamples, the controller 10 may cause the appearance of the cluster 60or handle 62 to be modified so as to indicate to the user that thecluster 60 or handle 62 may be selected or interacted with.

Next in step S4-7, the controller 10 receives a signal from thetouch-sensitive display 14 that is indicative of a selection having beenprovided in respect of one of the individually selectable graphicalobjects 20-1, 20-2, or in respect of a cluster 60 or handle 62 caused tobe displayed in step S4-5.

Next, in step S4-8, the controller 10 causes an action to be performedin respect of the selected graphical object 20-1, 20-2 or cluster 60.When a handle 62 is selected the controller 10 may cause an action to beperformed in respect of the associated graphical object.

FIG. 6E shows an example of an action that may be performed when agraphical object 20-1, 20-2 or a handle 62 associated with a graphicalobject 20-3, 20-4 is selected. In this example, the controller 10 simplyzooms in on the selected object. It will be appreciated, however, thatmany different types of action may be performed in respect of a selectedgraphical object. It will also be appreciated that the action may dependon a type of digital object that the graphical object represents. Forexample, where graphical objects represent applications, selection ofthe graphical object may cause the associated application to beexecuted. Similarly, where a graphical object represents a media file,selection of the graphical object may cause the media file to bepresented to the user.

In other examples, when a handle 62 is selected, instead of performingthe action in respect of the graphical object 20-3, 20-4 associated withthe handle 62, the controller 10 may cause the view of the 3D GUI totransition to a view in which the graphical object 20-3, 20-4 associatedwith the selected handle 62 becomes individually selectable.

Selection of a cluster 60 of graphical objects, in step S4-8, causes thecontroller 10 to modify the view of the 3D GUI until the displayparameters associated with those graphical objects 20-3, 20-4 in thecluster satisfy the predetermined criterion. In some examples, thecontroller 10 may revert the 3D GUI back to its original 3D arrangement(prior to its modification in step S4-5). The controller 10 may thenchange the point from which the 3D GUI is viewed until the displayparameters associated with the graphical objects 20-3, 20-4 from thecluster satisfy the predetermined criterion. Subsequently, thecontroller 10 enables individual selectability of those objects 20-3,20-4, and of any other graphical objects for which the associateddisplay parameter satisfies the predetermined criterion. In addition,the controller 10 disables the individual selectability of any graphicalobjects for which the associated display parameter no longer satisfiesthe predetermined criterion. Steps S4-4 to S4-6 may be performed everytime the point from which the 3D GUI is viewed is changed.

FIG. 6B shows an example view of the 3D GUI following the selection ofthe cluster 60. The controller 10 has responded by causing the 3D GUI tobe rotated until the display parameters associated with the third andfourth graphical objects 20-3, 20-3 satisfy the predetermined criterion.The rotation of the 3D GUI has resulted in the display parametersassociated with the first and second graphical objects 20-1, 20-2 nolonger satisfying the criterion. Consequently, the controller 10 maydisable their individual selectability. Both these graphical objects20-1, 20-2 are now partially obscured by the third and fourth graphicalobjects. Their locations are shown in dashed lines for illustrativepurposes.

FIG. 6C shows a view of the 3D GUI 20 following selection of the cluster60 according to other examples. In this example, the controller 10 doesnot cause the 3D GUI 20 to revert to its original 3D arrangement.Instead, it changes the view of the adapted 3D GUI until the displayparameters associated with the graphical objects 20-3, 20-4 in thecluster satisfy the predetermined criterion. In the example of FIG. 5C,the controller 10 causes the point from which the adapted 3D GUI isviewed to be moved directly towards the cluster. In other examples,however, the controller 10 may cause the view of the adapted 3D GUI tobe rotated or otherwise transitioned until the display parametersassociated with the graphical objects 20-3, 20-4 in the cluster 60satisfy the predetermined criterion.

It will be appreciated from the above description that by clustering thenon-individually selectable graphical objects or by providing associatedselectable handles 62, example embodiments provide the user of theapparatus with an easy and time-efficient way to select or interact withthose graphical objects that previously were not selectable.

FIG. 7 is a flow chart illustrating operations performed by theapparatus 1 of FIG. 1 in accordance with example embodiments. As will beunderstood from the below description, steps of the method of FIG. 7 maybe supplemental to the method of FIG. 4. The method of FIG. 7 is anexample of a way in which the controller 10 may optimise the view of the3D GUI for improved interaction between the user and the 3D GUI.

In step S7-1, the controller 10 receives an instruction, via thetouch-sensitive display 14, to alter the point from which the 3D GUI 20is viewed. This instruction may be provided using any suitable userinput. Step S7-1 may be received, for example, after any of steps S4-3,S4-4 and S4-6 of FIG. 4. As such, an initial view of the 3D GUI isalready displayed on the touch-sensitive display 14.

In response to the received instruction, in step S7-2 the controller 10causes the view of the 3D GUI 20 displayed on the display to betransitioned into the altered view in accordance with receivedinstruction.

Next, in step S7-3, the controller 10 calculates and stores an“interaction metric” based on the view of the 3D GUI 20 that iscurrently displayed on the display 14. The interaction metric is ameasure of the amount of interaction between the user and the graphicalobjects in the 3D GUI that is possible from the current viewpoint. Theinteraction metric may be based on a combination of the number ofgraphical objects 20-1, 20-2, 20-3, 20-4 which can be individuallyselected by the user and a measure of how easily those objects can beselected. The interaction metric may be calculated based on weighted sumof the number of graphical objects that present an individuallyselectable area above a minimum defined size, and the size of thepresented individually selectable areas. Other criteria may also betaken into account when calculating the interaction metric. Thesecriteria may include prioritization weighting for certain types ofgraphical objects and the proximity on the display of two or moreindividually selectable areas. The interaction metric is an indicationof the level of touchability of the graphical objects 3D GUI at thecurrent viewpoint. As such, it may be referred to as a touchabilityindicator.

Subsequently, in step S7-4, it is determined if the interaction metricis above a predetermined threshold (i.e. is at an acceptable level). Ifit is determined that the interaction metric is above the predeterminedthreshold, the current view of the 3D GUI 20 is maintained and themethod proceeds to steps S7-5 and S7-6. Steps S7-5 and S7-6 are the sameas steps S4-2 and S4-3 as described with reference to FIG. 4 in whichthe controller 10 identifies the graphical objects for which the displayparameter satisfies the criterion (step S4-2) and subsequently enablestheir individual selectability (S4-3). After the controller 10 hasperformed steps S7-5 and S7-6, it may continue to perform operationsequivalent to steps of S4-4 to S4-8 of FIG. 4.

If it is determined in step S7-4, that the interaction metric is belowthe predetermined threshold, the controller 10 proceeds to step S7-7. Instep S7-7, the controller 10 calculates and stores the interactionmetric for a view of the 3D GUI 20 that is adjusted from the currentview. The adjusted view is a one that is translated or rotated from thecurrent view in a particular direction by a predetermined step distance.

Next, in step S7-8, the controller 10 calculates and stores theinteraction metric for a view that is adjusted by an increased stepdistance in the direction. This step may be repeated as many times asdefined by the computer readable code 12A.

Subsequently, in step S7-9, the controller 10 repeats step S7-7 and stepS7-8 for a predefined number of different translational and/orrotational directions.

Next, in step S7-10, the controller 10 identifies the adjusted viewwhich yielded the highest interaction metric and transitions the 3D GUIto that view. Subsequently, the controller 10 proceeds to steps S7-5 andS7-6.

It will of course be appreciated that in some example embodiments, thesteps of FIG. 7 may be performed in a different order. For instance, insome examples, step S7-4 of determining if the interaction metric isabove the predetermined threshold may be carried out each time theinteraction metric for an adjusted view is calculated. As soon as a viewhaving a interaction metric above the threshold is identified, thecontroller 10 causes the 3D GUI to transition to that view. If no viewyields a interaction metric above the threshold, the controller 10transitions the 3D GUI to the view having the highest interactionmetric.

FIG. 8A shows an example of a view of a 3D GUI following a userinitiated view transition. In this example, each of the graphicalobjects 20-5, 20-6 and 20-7 is displayed at a size such that theirassociated display parameters do not satisfy the predeterminedcriterion. This fact is reflected in a interaction metric which is belowthe threshold. Consequently, following steps S7-7 to S7-9 of the methodof FIG. 7, an adjusted view with an optimised interaction metric isidentified. This optimised view can be seen in FIG. 8B and results fromthe controller 10 transitioning the point of view in a direction towardsthe graphical objects 20-5, 20-6, 20-7. In the optimised view, thedisplay parameters associated with all of the graphical objects satisfythe predetermined criterion. Consequently, the controller 10 enablesindividual selectability in respect of all three graphical objects 20-5,20-6, 20-7.

FIG. 9 is a flow chart illustrating an example of another method foroptimising a interaction metric associated with the 3D GUI. This methodaddresses the problem of graphical objects which overlap one another orwhich are so close that the user may not be able to accurately selecteach one individually.

Steps S9-1 to S9-6 are substantially the same as steps S7-1 to S7-6 ofFIG. 7. However, in this example method, following a determination instep S9-4 that the interaction metric is below the threshold, the methodproceeds to step S9-7 in which the controller 10 identifies overlappingobjects, or objects that are considered too close to one another. Thismay be based on display location information associated with each of thegraphical objects.

Subsequently, in step S9-8, the controller 10 moves the overlapping orclose objects away from one another in a direction of a line betweentheir 2D centre points. The controller 10 continues to separate thegraphical objects in this manner until it is determined that the objectsare spaced apart by more than a threshold distance. It will, of course,be appreciated that alternative algorithms for spacing the graphicalobjects may be used. For example, the controller 10 may take ahorizontal slice through the graphical objects and then measure thesmallest distance between them. The controller 10 then calculates thesmallest distance between the objects if they were moved apart from oneanother horizontally by a small amount. This is repeated with anincrementally increasing distance of horizontal movement until thecalculated separation is above a threshold. The controller 10 thenrepeats the process in the vertical direction (i.e. by taking a verticalslices and moving the objects apart vertically). Subsequently, thecontroller 10 determines which direction requires the least movement toarrive at the threshold separation and then separates the objects on thedisplay in that direction until the threshold separation is reached.

Subsequently, the method proceeds to step S9-5 and S9-6 in which thecontroller 10 identifies the graphical objects for which the displayparameter satisfies the criterion (step S9-5) and subsequently enablestheir individual selectability (S9-6).

The effect of the method of FIG. 9 can be seen in FIGS. 10A and 10B.FIG. 10A shows a view of the 3D GUI 20 immediately following auser-initiated view transition. As can be seen, two of the graphicalobjects 20-8-20-9 are displayed as overlapping.

This is recognised in step S9-7 and consequently, in step S9-8, theoverlapping objects are moved apart from one another. The result of thiscan be seen in FIG. 10B.

It will of course be appreciated that the example methods of FIGS. 7 and9 may not be exclusive of one another. For example, steps S9-7 and S9-8may be performed subsequent to step S7-10 of FIG. 7. Also, as discussedabove, the methods of FIGS. 7 and/or 9 may also be incorporated intomethod of FIG. 4.

A worked example of how the interaction metric may be calculated willnow be described with reference to FIGS. 11A and 11B.

FIG. 11 A shows a view of 3D GUI immediately following a user controlledchange of viewpoint. In this example, the 3D GUI comprises two planargraphical objects 110, 112. A first of the objects 110 has a solidoutline and the second 112 has a broken outline. In FIG. 11A, the planesof both objects are generally parallel to the plane of the display.

Cartesian coordinates (x, y, z) relating to the objects and the cameraare as follows:

-   -   first object 110=[−76, 1571, 162];    -   second object 112=[−385, 1798, 1455];    -   camera position=[−1043, 1917, −4038]; and    -   point of interest of camera (i.e. the point on which the camera        is focussed)=[−368, 1588, 289].

The x-axis is horizontal and increases from right to left. The y-axis isvertical and increases from down to up. The z-axis is perpendicular tothe plane of the display and increases from near to far. Each of thegraphical objects 110, 112 is of the same objective size. However,because the second object 112 is located further from the plane of thedisplay (i.e. has a higher z-value), it appears smaller. Both objectsare displayed at a size that is above the threshold for enablingindividual selectability.

However, in the current view, the first object 110 is partiallyobscuring the view of the second object 112. Both objects have the samepriority (=1).

Measures of the area of the display on which the objects are providedare as follows:

-   -   first object area=1156; and    -   second object area=396.

In some examples, the interaction metric, M_(I), may be calculated usingthe following equation (a, b, c and A_(min) are parameters defineddepending on the particular implementation):M _(I) =a(number of individually selectable objects presenting a visiblearea>A _(min))+b(smallest visible area)+c(total display area of objectsof priority=1)+d(distance between nearest edges of neighbouringindividually selectable objects).

Let us assume that, in this implementation, the parameters are: a=800,b=1, c=0.1, and A_(min)=500 (note: A_(min) may in some instance also bethe threshold size for individual selectability). As such, theinteraction metric is as follows:M _(I)=800(1)+1(396)+0.1(1156+396)+100(0)=1351.

If the threshold for the interaction metric M_(I) is, for example, 4000then step S7-4 of FIG. 7 would yield a negative determination. As suchthe controller 10 then proceeds to steps S7-7 to S7-10 to identify aviewpoint which has a higher interaction metric (preferably in excess ofthe threshold). FIG. 11B shows an example of such a viewpoint.

In FIG. 11B, the camera has been moved to the right by 1181 units. Assuch the coordinates for the camera position are now: [−1043, 1917,−4038]. Because the camera position has changed but the point ofinterest has not, the planes of the two objects 110, 112 are no longergenerally parallel to the plane of the display. As such, they no longerappear rectangular, but instead appear slightly skewed. The visibleareas of the two objects are as follows:

-   -   first object area=900; and    -   second object area=625.

The interaction metric M_(I) of the view of FIG. 11B is now 4000(=800(2)+1(625)+0.1(900+625)+100(2.5)), which is in excess of thethreshold. Consequently, the controller transitions to the 3D GUI tothis viewpoint which facilitates interaction with the 3D GUI by theuser.

It will be appreciated that the examples described herein have manydifferent uses within touchscreen devices. They may be used, forexample, for providing a menu system wherein each graphical object inthe GUI represents an application for execution. They may also be usedfor allowing content items, such as picture files, videos files and/oraudio files to be browsed, with each graphical object representing acontent item or groups of content items. In other applications, theexamples herein may be used within a gaming environment, for example aspart of a virtual world computer game. It will, of course, beappreciated that the examples described herein are not limited to thesespecific applications, but may be employed in many other scenarios.

It should be realized that the foregoing embodiments should not beconstrued as limiting. Other variations and modifications will beapparent to persons skilled in the art upon reading the presentapplication. Moreover, the disclosure of the present application shouldbe understood to include any novel features or any novel combination offeatures either explicitly or implicitly disclosed herein or anygeneralization thereof and during the prosecution of the presentapplication or of any application derived therefrom, new claims may beformulated to cover any such features and/or combination of suchfeatures.

The invention claimed is:
 1. An apparatus comprising at least oneprocessor and at least one memory including computer program code, theat least one memory and the computer program code configured to, withthe at least one processor, cause the apparatus: to cause a view of athree-dimensional graphical user interface to be displayed on atouch-sensitive display, the three-dimensional graphical user interfacecomprising a three-dimensional arrangement of a plurality of graphicalobjects, wherein each of the graphical objects has an associated displayparameter comprising at least a position at which the respectivegraphical object is displayed; to identify at least one graphical objectfor which the associated position has a first positional relationshipwith a threshold plane; to identify at least one graphical object forwhich the associated position has a second positional relationship withthe threshold plane; to adapt the three-dimensional arrangement of theplurality of graphical objects by causing the identified at least onegraphical object for which the associated position has the secondpositional relationship with the threshold plane to be moved into acluster; and to enable individual selectability of the identified atleast one graphical object for which the associated position has thefirst positional relationship with the threshold plane, and to disablethe individual selectability of the identified at least one graphicalobject for which the associated position has the second positionalrelationship with the threshold plane, wherein, in an instance theindividual selectability of a graphical object is enabled, the graphicalobject is individually selectable, and wherein individually selecting agraphical object causes an action to be performed in respect of theselected graphical object, and wherein, in an instance the individualselectability is disabled, the action is not performed in response tointeracting with the graphical object.
 2. The apparatus of claim 1,wherein the at least one memory and the computer program code areconfigured, with the at least one processor, to cause the apparatus toadapt the appearance of the identified at least one graphical object forwhich the associated position has the first positional relationship withthe threshold plane, so as to indicate to a user that the graphicalobject is individually selectable.
 3. The apparatus of claim 1, whereinthe at least one memory and the computer program code are configured,with the at least one processor, to cause the apparatus to enableselectability of the cluster.
 4. The apparatus of claim 3, wherein theat least one memory and the computer program code are configured, withthe at least one processor, to cause the apparatus: to receive a signalindicative of the user input having been received in respect of thecluster; to respond by changing a point from which the adaptedthree-dimensional arrangement is viewed until the position associatedwith at least one of the graphical objects in the cluster has the firstpositional relationship with the threshold plane; and to enable theindividual selectability of at least one of the graphical objects in thecluster.
 5. The apparatus of claim 1, wherein the at least one memoryand the computer program code are configured, with the at least oneprocessor, to cause the apparatus: to cause a handle to be displayed inassociation with each of the graphical objects for which the positionhas the second positional relationship with the threshold plane; and toenable selectability of the handle associated with each graphicalobject.
 6. The apparatus of claim 1, wherein the at least one memory andthe computer program code are further configured, with the at least oneprocessor, to cause the apparatus to modify the individual selectabilityof at least one graphical object in response to a change in the positionof the at least one graphical object.
 7. The apparatus of claim 1,wherein the position having the first positional relationship with thethreshold plane is in the threshold plane or at least partially on afirst side of the threshold plane, and the position having the secondpositional relationship with the threshold plane is at least partiallyon a second side of the threshold plane.
 8. The apparatus of claim 1,wherein the position having the first positional relationship with thethreshold plane is at least partially on a first side of the thresholdplane, and the position having the second positional relationship withthe threshold plane is in the threshold plane or at least partially on asecond side of the threshold plane.
 9. A method comprising: causing aview of a three-dimensional graphical user interface to be displayed ona touch-sensitive display, the three-dimensional graphical userinterface comprising a three-dimensional arrangement of a plurality ofgraphical objects, wherein each of the graphical objects has anassociated display parameter comprising at least a position at which therespective graphical object is displayed; identifying at least onegraphical object for which the associated position has a firstpositional relationship with a threshold plane; identifying at least onegraphical object for which the associated position has a secondpositional relationship with the threshold plane; adapting thethree-dimensional arrangement of the plurality of graphical objects bycausing the identified at least one graphical object for which theassociated position has the second positional relationship with thethreshold plane to be moved into a cluster; and enabling individualselectability of the identified at least one graphical object for whichthe associated position has the first positional relationship with thethreshold plane, and to disable the individual selectability of theidentified at least one graphical object for which the associatedposition has the second positional relationship with the thresholdplane, wherein, in an instance the individual selectability of agraphical object is enabled, the graphical object is individuallyselectable, and wherein individually selecting a graphical object causesan action to be performed in respect of the selected graphical object,and wherein, in an instance the individual selectability is disabled,the action is not performed in response to individually interacting withthe graphical object.
 10. The method of claim 9, further comprising:causing adaption of an appearance of the identified at least onegraphical object for which the associated position has the firstpositional relationship with the threshold plane, so as to indicate to auser that the graphical object is individually selectable.
 11. Themethod of claim 9, further comprising: enabling selectability of thecluster.
 12. The method of claim 11, further comprising: receiving asignal indicative of the user input having been received in respect ofthe cluster; responding by changing a point from which the adaptedthree-dimensional arrangement is viewed until the position associatedwith at least one of the graphical objects in the cluster has the firstpositional relationship with the threshold plane; and enabling theindividual selectability of at least one of the graphical objects in thecluster.
 13. The method of claim 9, further comprising: causing a handleto be displayed in association with each of the graphical objects forwhich the position has the second positional relationship with thethreshold plane; and enabling selectability of the handle associatedwith each graphical object.
 14. The method of claim 9, furthercomprising modifying the individual selectability of at least onegraphical object in response to a change in the position of the at leastone graphical object.
 15. A non-transitory computer readable memorymedium having computer readable instructions stored thereon, thecomputer readable instructions, when executed by at least one processor,causing the at least one processor to: cause a view of athree-dimensional graphical user interface to be displayed on atouch-sensitive display, the three-dimensional graphical user interfacecomprising a three-dimensional arrangement of a plurality of graphicalobjects, wherein each of the graphical objects has an associated displayparameter comprising at least a position at which the respectivegraphical object is displayed; identify at least one graphical objectfor which the associated position has a first positional relationshipwith a threshold plane; identify at least one graphical object for whichthe associated position has a second positional relationship with thethreshold plane; adapt the three-dimensional arrangement of theplurality of graphical objects by causing the identified at least onegraphical object for which the associated position has the secondpositional relationship with the threshold plane to be moved into acluster; and enable individual selectability of the identified at leastone graphical object for which the associated position has the firstpositional relationship with the threshold plane, and to disable theindividual selectability of the identified at least one graphical objectfor which the associated position has the second positional relationshipwith the threshold plane, wherein, in an instance the individualselectability of a graphical object is enabled, the graphical object isindividually selectable, and wherein individually selecting a graphicalobject causes an action to be performed in respect of the selectedgraphical object, and wherein, in an instance the individualselectability is disabled, the action is not performed in response tointeracting with the graphical object.
 16. The non-transitory computerreadable memory medium of claim 15, wherein the computer readableinstructions, when executed by at least one processor, further cause theat least one processor to: cause adaption of an appearance of theidentified at least one graphical object for which the associatedposition has the first positional relationship with the threshold plane,so as to indicate to a user that the graphical object is individuallyselectable.
 17. The non-transitory computer readable memory medium ofclaim 15, wherein the computer readable instructions, when executed byat least one processor, further cause the at least one processor tomodify the individual selectability of at least one graphical object inresponse to a change in the position of the at least one graphicalobject.